AP機器読取ツール PowerShell版 23/11/06

・AP機器を動作させるサンプルスクリプトです。
・本スクリプトの利用により発生したいかなる損害についても、当社は一切責任を負いません。
・このスクリプトは自由に利用、配布、改変可能です。
・Powershellでのスクリプト実行には、実行ポリシーの確認を要求されるため許可をしてください。
　　バッチやショートカットで起動する際にポリシーを指定することも可能です。その場合は以下のコマンドにて実行してください。
　　powershell -WindowStyle Nomal -ExecutionPolicy RemoteSigned -command ".\ApTool.ps1"
　　　　-WindowsStyleは次の4つから選択することができます。
　　　　　Normal　(通常)、Minimized　(最小化)、Maximized　(最大化)、Hidden　(非表示)
・スクリプトをVSCode、 PowerShell ISE 等で編集およびデバッグするには、実行ポリシーの設定を変更する必要があります。
　管理者権限でPowerShellを起動し、下記コマンドレットを実行してください。
    Set-ExecutionPolicy RemoteSigned
・スクリプト内では例外処理は行っていませんので、設定の不備やファイル処理に不具合が発生した場合には強制終了する場合があります。
　　実際の業務で使用する場合は、例外処理を考慮してスクリプトを作成してください。

●ファイル説明
・ApTool.ps1　　　　　　　　 メインスクリプト。起動時の実行ファイルです。読取OK/NG時の処理を記述します。
・SerialComm.ps1　　　　　　 シリアル通信、AP機器のコマンド、ステータス処理をするサブスクリプトです。
・ReadExte.ps1　　　　　 　　読取拡張機能として読取データをチェック、編集、出力したり、RFIDの読み書きをするサブスクリプトです。
・サンプル_読取フォーム.ps1　ツールを起動するサンプルスクリプトです。フォーム上で読取中のデータを表示、編集することができます。
・サンプル_バッチ起動.bat　  ツールを起動するサンプルバッチプログラムです。コマンドプロンプト上にて読取データが表示されます。

●使い方
１．ダウンロードしたファイルを全て同一フォルダに保存します。
２．SerialComm.ps1ファイルを使用環境にあわせて編集します。
　　　PCとAP機器とのシリアル通信設定、接続するAP機器のコマンド設定を必ず行ってください。
３．PCとAP機器を接続し電源を入れます。
４．ApTool.ps1を実行します。
　　　はじめは起動サンプルにて動作確認することをおすすめします。
５．AP機器を操作して読み取りします。機器の操作方法は取説を参照してください。
６，読み取り処理を終了するには、以下のいずれかの方法にて行います。
　　　・AP機器の終了キーを押しPC画面上に表示されるダイアログに従ってツールを終了します。
　　　・起動サンプルを終了することでツールも終了します。
　　　・スクリプトの同一フォルダに作成される"ApTool_実行中.txt"ファイルを削除します。外部プログラムからスクリプトを終了する場合もこの方法でツールを終了します。
７．読み取りデータはテキストファイル"ReadData.txt"として同一フォルダ内に保存されます。
　　　また、次回の起動時には"ReadData.txt"へデータが追記されていきますので、以前のデータが不要な場合はファイルを削除してから実行してください。

●ReadExte.ps1ファイルについて
読取データをそのままファイルに保存するのみであれば、特にスクリプトの編集は不要ですが
このファイルを編集（パラメータをセット）するだけで、以下の様々な機能を使うことができます。
・読み取りデータの重複チェック機能
・マスタファイルとの照合チェック機能
・読取桁数チェック機能
・データ切り取り編集出力機能
・読取データを外部プログラムへキー入力する機能
・外部プログラムにて1枚毎に読取データをチェックし機器をコントロールできるオンデマンド機能。（読取データファイル、排出コマンドファイルを作成し連携させます）
・RFIDへの読み書き機能。QRコード、RFIDを同時に読み取りすることができます。

●最後に
この度は、AP機器および本ツールのご利用をいただきありがとうございます。
PowerShellについて、Windows PCに標準で搭載されたシェルであり、スクリプトの実行にも特別な開発環境を用意する必要がありません。
簡単で便利なコマンドレットが多数用意されており、インターネット上でも多くの情報を得ることができるため、他のプログラム言語に比べ習得が容易です。
本ツールのスクリプトを改良することで、更なる業務改善に役立つツールへと進化することを願っております。

以上